<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
</html>
<script !src="">
    // 简单版：函数内部支持使用 this 和 event 对象
    function debounce(func, wait) {
        var timeout;
        return function () {
            var context = this;
            var args = arguments;
            clearTimeout(timeout)
            timeout = setTimeout(function () {
                func.apply(context, args)
            }, wait);
        }
    }

    // 使用：

    var node = document.getElementById('layout')
    function getUserAction(e) {
        console.log(this, e)  // 分别打印：node 这个节点 和 MouseEvent
        node.innerHTML = count++;
    };
    node.onmousemove = debounce(getUserAction, 1000)


</script>
